什么是 3D 传感器?
3D 传感器采集物体或场景的空间结构和表面。除了 x 和 y 方向的二维位置信息外,它还确定第三空间方向 (z) 的距离或深度。这样就可以生成三维数据,例如以深度图或点云的形式呈现。在此基础上,可以确定物体的尺寸、位置、体积和表面几何形状等。
什么时候使用 3D 图像处理?
在 2D 图像处理中,在一个平面内采集亮度、颜色和轮廓等特征。如果需要关于物体位置、高度或形状的补充信息,则使用 3D 传感器。测量数据可实现 3D 物体识别、体积测量、机器人引导以及自动化质量控制。典型应用包括自动抓取、卸垛、机器人取放过程和 3D 表面检测。
2D 图像采集 h4>
3D 图像采集 h4>
3D 传感器的典型应用
自动抓取零件 h4>
自动抓取是指机器人从容器或箱子中取出杂乱的物体。3D 传感器采集位置和方向,并生成其可见表面的 3D 点云。然后,机器人系统可以确定合适的抓取位置并有针对性地取出零件。该方法特别适用于几何形状复杂或位置变化的物体。
卸载托盘 h4>
3D 传感器支持从托盘上卸载纸箱、容器或产品。利用空间数据识别高度差异、物体位置和堆垛模式,以便机器人能够精确地取出物体。因此,即使不规则或混合装载也能可靠地处理。
3D 表面检测 h4>
借助 3D 表面检测,无论颜色或对比度如何,都能准确检测凹痕、变形、装配误差和高度差异。因此,三维测量数据适用于自动化质量控制以及尺寸精度和完整性检查。
用于处理 3D 数据的坐标系
坐标系对于 3D 数据的空间处理至关重要。3D 传感器采集的测量点与传感器的坐标系有关。传感器坐标系定义每个测量点相对于传感器位置和方向的位置,并成为进一步处理深度数据的基础。
为了使机器人、设备或图像处理系统能够使用采集到的数据,必须将其传输到全局或设备相关坐标系中。由此可以在应用程序中明确确定物体位置、运动和抓取点。
机器人视觉的手眼标定
对于机器人视觉应用,3D 传感器和机器人的坐标系必须相互关联。手眼标定用于确定两个系统之间的几何变换关系。这样,机器人就能在自己的坐标系中解释传感器采集到的 3D 位置并有针对性地移动。
视应用而定,分为两种类型:
眼在手外 h4>
在眼在手外方案中,传感器固定安装在工作空间内,观测机器人的工作区域。标定用于确定其相对于机器人基座的位置和方向。
眼在手上 h4>
相比之下,眼在手上时,传感器直接位于机器人臂上并随之移动。此处确定其相对于刀具中心 (TCP) 的位置。
3D 传感器的工作距离和测量范围
工作距离 h4>
测量范围 h4>
基于三角测量的 3D 传感器的测量范围呈金字塔形式。与传感器的距离越大,测量范围在 x 和 y 方向就越大。这样就可以在远距离范围内采集到较大的物体或场景。
同时,测量点分布在更大的面积上,使得相邻点之间的距离更大。因此,在近距离范围内,3D 点云的点密度更高,可以更详细地采集精细结构。
z 方向的深度分辨率也取决于工作距离。随着距离的增加,三角测量的几何灵敏度降低,因此可以更好地检测近距离范围小的高度差。
3D 点云是如何生成的?
3D 传感器利用结构光将光图案投射到物体上。根据这些图案的变形可以推断物体的轮廓。随后,摄像头将检测表面的图案变形。传感器借助光学三角测量法根据其位移计算深度信息,并由此生成 3D 点云。
第一步 – 投影光图案 h3>
集成的光引擎依次将定义的光图案投射到物体表面。该图案用作后续深度计算的指定参考结构。wenglor 的 3D 传感器使用蓝光,因为其波长较短可实现较高的光学精度,同时它对环境光不太敏感。因此,即使是精细的表面结构也能稳定地检测,并且对比度高。
第二步 – 物体上的光图案畸变 h3>
如果结构化的光图案投射到物体上,它会根据其几何形状产生空间上的畸变。高度差、边缘和凹陷会导致摄像头图像中投影的条纹移动。图案畸变包含物体形状和深度信息。
光滑、结构化或强烈反射的表面会影响图案的成像质量,因此也会影响后续的深度计算。
第三步 – 通过摄像头拍摄光图案 h3>
然后,摄像头从指定角度捕捉投射的光图案。在拍摄过程中,系统会分析投影图案在图像中的准确位置和畸变。从多个拍摄的单个图像中生成一个完整的场景数据集。摄像头图像中图案的清晰度取决于曝光时间、表面反射、环境光和传感器的光学分辨率等因素。
第四步 – 通过三角测量法计算深度值 h3>
摄像头和投影仪从不同的角度观测测量对象。它们与表面点一起形成一个几何三角形。由于摄像图和投影仪相对于彼此的位置已知,传感器可以根据采集的图案的位移计算每个测量点的深度值。
这种方法称为光学三角测量,是可见物体表面空间重建的基础。
第五步 – 生成点云 h3>
基于相机标定,传感器根据计算出的深度值生成 3D 点云。每个测量点都通过其 x、y 和 z 坐标进行描述,从而在空间中获得一个唯一的位置。该点云能够精细地还原出物体的表面结构。
此外,还可以保存其他信息,如强度值或所谓的置信度值。强度数据提供有关亮度或反射特性的信息,而置信度值则表示单个测量点的质量或可靠性。
3D 数据的处理
在结构化光投射中,可以使用不同的重建方法生成 3D 数据。条纹法和相位法在投射图案的类型及其分析方面有所不同。这两种方法都使用灰色编码序列,通过这些序列可以将投射的光图案与采集的像素清楚地关联起来。这一对应关系构成了计算深度值的基础。哪种方法适合测量任务,主要取决于所需的拍摄时间、物体表面的特性以及反射或环境光。
条纹法与相位法的比较
条纹法 h4>
在条纹法中,将不同宽度明显分隔的高对比度光栅条纹投射到物体表面上。由于对比度高,在深色或强烈反射表面能够特别好地识别投射图案。同时,二进制模式可实现非常短的曝光时间,这使该方法特别适用于具有挑战性的表面。
相位法 h4>
在相位法中,将具有不同相移的正弦光栅条纹图案投射到物体表面上。在此过程中,分析投射图案的连续亮度分布,而不是单个条纹。这样可以亚像素精度地确定测量点的位置,从而获得特别平滑、高分辨率和细节丰富的 3D 数据。
3D 点云的可视化
虚假颜色显示 h4>
在虚假颜色显示中,给 3D 点云的不同深度值赋予不同的颜色。由此对高度差异和物体轮廓进行可视化,从而能够快速解释测量数据。
强度图像 h4>
除了深度值外,传感器还可生成强度图像。这相当于一张传统的灰度图像,包含了物体表面反射特性的信息。
置信图像 h4>
置信图像显示点云中各个测量点的质量或可靠性。这样可以有针对性地识别和分析深度计算不确定性或信号质量差的区域。
3D 传感器的采集参数
曝光时间
增益
次级抽样
根据 VDI/VDE 的精度来标定
堆叠数量
Stack Size(堆叠数量)表示用于一次 3D 采集的单张拍摄或图案投影的数量。更大的堆叠数量可提供更多的图像信息,并可减少测量噪音。同时,采集时间会延长,从而导致可达到的最大采集速度降低。
更多 3D 技术
无源立体声
采用这种方法时,两个摄像头在某个角度下观察同一物体。通过两台摄像头拍摄相同的特征,可以通过图像移动计算特征在空间中的空间位置。很难用两个摄像头识别相同的点。例如,如果观察一个对比度差的表面(如白色墙),则该方法不是最佳方法。
有源立体声
其构造与无源立体声相同。此外,将一个图案(例如随机分布的点)投射到表面上。这样便于将同一点在两个摄像头(的图像)中对应匹配起来。
飞行时间
采用这种方式时,根据光传递时间确定物体与传感器之间的距离。这时传感器发出光脉冲,它会照射到物体上并被物体反射回来。根据光脉冲的反射时长确定距离。这样可以确定深度信息,例如物体的结构或距离。
激光三角测量
在激光三角测量中,激光投射一条线,该线由摄像头以定义的角度采集物体。通过移动摄像头图像中的激光线可以确定物体表面的高度。由于每次只采集一个轮廓,必须移动物体或传感器才能生成完整的 3D 数据。该方法的特点是精度高,但在采集过程依赖于定义的相对运动。
技术对比
| 结构光 | 无源立体声 | 有源立体声 | 传输时间 | |
|---|---|---|---|---|
| 分辨率 | ![]() |
![]() |
![]() |
![]() |
| 精度 | ![]() |
![]() |
![]() |
![]() |
| 外来光线 | ![]() |
![]() |
![]() |
![]() |
| 测量速度 | ![]() |
![]() |
![]() |
![]() |
| 对比度差的物体 | ![]() |
![]() |
![]() |
![]() |
| 障碍物 / 阴影 | ![]() |
![]() |
![]() |
![]() |
|
分辨率
|
|||
|---|---|---|---|
|
结构光
|
无源立体声
|
有源立体声
|
传输时间
|
|
精度
|
|||
|
结构光
|
无源立体声
|
有源立体声
|
传输时间
|
|
外来光线
|
|||
|
结构光
|
无源立体声
|
有源立体声
|
传输时间
|
|
测量速度
|
|||
|
结构光
|
无源立体声
|
有源立体声
|
传输时间
|
|
对比度差的物体
|
|||
|
结构光
|
无源立体声
|
有源立体声
|
传输时间
|
|
障碍物 / 阴影
|
|||
|
结构光
|
无源立体声
|
有源立体声
|
传输时间
|
集成到工业系统中
为了在工业应用中使用 3D 传感器,它必须能够无缝集成到现有的自动化、机器人和图像处理系统中。除了实际的 3D 数据采集之外,标准化的接口、软件库和灵活的集成选项也发挥着核心作用。为此,现代化的 3D 传感器提供广泛的软件和通信接口,可以轻松地集成到不同的系统环境中。



